package com.elvin.wx.beans;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;

/**
 * 设备表
 */
@TableName("fn_device_base")
public class Device extends Model<Device> {
    private static final long serialVersionUID = 1L;
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    private String organizeCode ;//	组织机构编码
    private String deviceName ;//	设备名称
    private Integer gatewayId ;//	网关id
    private Integer com ;//	对应com口
    private String manufacturer ;//	生产厂家
    private String modelNumber ;//	设备型号
    private String deviceNumber ;//	设备编号
    private Integer deviceType ;//	设备类型(0压力类、1温度类、2流量类、3液位类)
    private String firmwareVersion ;//	固件版本
    private String hardwareVersion ;//	硬件版本
    private String softwareVersion ;//	软件版本
    private String reboot ;//	设备重启
    private String factoryReset ;//	恢复出厂设置
    private Integer batteryStatus ;//	电池状态(1-6)
    private Integer batteryLevel ;//	电池电量
    private String errorCode ;//	错误码（暂时用作温度信息上报）
    private String company ;//	所属公司

    @ApiModelProperty(value = "创建日期", required =false,hidden=true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",locale = "zh",timezone = "GMT+8")
    private Date currentTime ;//	最近使用时间
    @ApiModelProperty(value = "创建日期", required =false,hidden=true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",locale = "zh",timezone = "GMT+8")
    private Date createTime ;//	创建时间
    @ApiModelProperty(value = "创建日期", required =false,hidden=true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",locale = "zh",timezone = "GMT+8")
    private Date verificationTime ;//	最近一次检定时间
    @ApiModelProperty(value = "创建日期", required =false,hidden=true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",locale = "zh",timezone = "GMT+8")
    private Date verificationNextTime ;//	下一次检定时间

    private String verificationHistory ;//	检定历史记录
    private String geographicPosition ;//	地理位置信息
    private String parametersInfo ;//	能够测量的参量信息
    private String language ;//	使用语言
    private String commSpace ;//	通信间隔
    private String commModel ;//	通信模式
    private String protocolType ;//	协议方式
    private Integer commBigLittle ;//	通讯格式（0：小端模式，1：大端模式）
    private String measMode ;//	测量模式
    private String measIsTimes ;//	每秒测量次数
    private String measInterval ;//	测量间隔 x秒
    private String pwdVal ;//	密码
    private String gravity ;//	重力加速度
    private Integer deprecated ;//	是否已经弃用

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getDeviceNumber() {
        return deviceNumber;
    }

    public void setDeviceNumber(String deviceNumber) {
        this.deviceNumber = deviceNumber;
    }

    public String getMeasIsTimes() {
        return measIsTimes;
    }

    public void setMeasIsTimes(String measIsTimes) {
        this.measIsTimes = measIsTimes;
    }

    public String getMeasInterval() {
        return measInterval;
    }

    public void setMeasInterval(String measInterval) {
        this.measInterval = measInterval;
    }

    public String getPwdVal() {
        return pwdVal;
    }

    public void setPwdVal(String pwdVal) {
        this.pwdVal = pwdVal;
    }

    public String getGravity() {
        return gravity;
    }

    public void setGravity(String gravity) {
        this.gravity = gravity;
    }

    public Integer getDeprecated() {
        return deprecated;
    }

    public void setDeprecated(Integer deprecated) {
        this.deprecated = deprecated;
    }

    public String getOrganizeCode() {
        return organizeCode;
    }

    public void setOrganizeCode(String organizeCode) {
        this.organizeCode = organizeCode;
    }

    public String getDeviceName() {
        return deviceName;
    }

    public void setDeviceName(String deviceName) {
        this.deviceName = deviceName;
    }

    public Integer getGatewayId() {
        return gatewayId;
    }

    public void setGatewayId(Integer gatewayId) {
        this.gatewayId = gatewayId;
    }

    public Integer getCom() {
        return com;
    }

    public void setCom(Integer com) {
        this.com = com;
    }

    public String getManufacturer() {
        return manufacturer;
    }

    public void setManufacturer(String manufacturer) {
        this.manufacturer = manufacturer;
    }

    public String getModelNumber() {
        return modelNumber;
    }

    public void setModelNumber(String modelNumber) {
        this.modelNumber = modelNumber;
    }


    public Integer getDeviceType() {
        return deviceType;
    }

    public void setDeviceType(Integer deviceType) {
        this.deviceType = deviceType;
    }

    public String getFirmwareVersion() {
        return firmwareVersion;
    }

    public void setFirmwareVersion(String firmwareVersion) {
        this.firmwareVersion = firmwareVersion;
    }

    public String getHardwareVersion() {
        return hardwareVersion;
    }

    public void setHardwareVersion(String hardwareVersion) {
        this.hardwareVersion = hardwareVersion;
    }

    public String getSoftwareVersion() {
        return softwareVersion;
    }

    public void setSoftwareVersion(String softwareVersion) {
        this.softwareVersion = softwareVersion;
    }

    public String getReboot() {
        return reboot;
    }

    public void setReboot(String reboot) {
        this.reboot = reboot;
    }

    public String getFactoryReset() {
        return factoryReset;
    }

    public void setFactoryReset(String factoryReset) {
        this.factoryReset = factoryReset;
    }

    public Integer getBatteryStatus() {
        return batteryStatus;
    }

    public void setBatteryStatus(Integer batteryStatus) {
        this.batteryStatus = batteryStatus;
    }

    public Integer getBatteryLevel() {
        return batteryLevel;
    }

    public void setBatteryLevel(Integer batteryLevel) {
        this.batteryLevel = batteryLevel;
    }

    public String getErrorCode() {
        return errorCode;
    }

    public void setErrorCode(String errorCode) {
        this.errorCode = errorCode;
    }

    public String getCompany() {
        return company;
    }

    public void setCompany(String company) {
        this.company = company;
    }

    public Date getCurrentTime() {
        return currentTime;
    }

    public void setCurrentTime(Date currentTime) {
        this.currentTime = currentTime;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getVerificationTime() {
        return verificationTime;
    }

    public void setVerificationTime(Date verificationTime) {
        this.verificationTime = verificationTime;
    }

    public Date getVerificationNextTime() {
        return verificationNextTime;
    }

    public void setVerificationNextTime(Date verificationNextTime) {
        this.verificationNextTime = verificationNextTime;
    }

    public String getVerificationHistory() {
        return verificationHistory;
    }

    public void setVerificationHistory(String verificationHistory) {
        this.verificationHistory = verificationHistory;
    }

    public String getGeographicPosition() {
        return geographicPosition;
    }

    public void setGeographicPosition(String geographicPosition) {
        this.geographicPosition = geographicPosition;
    }

    public String getParametersInfo() {
        return parametersInfo;
    }

    public void setParametersInfo(String parametersInfo) {
        this.parametersInfo = parametersInfo;
    }

    public String getLanguage() {
        return language;
    }

    public void setLanguage(String language) {
        this.language = language;
    }

    public String getCommSpace() {
        return commSpace;
    }

    public void setCommSpace(String commSpace) {
        this.commSpace = commSpace;
    }

    public String getCommModel() {
        return commModel;
    }

    public void setCommModel(String commModel) {
        this.commModel = commModel;
    }

    public String getProtocolType() {
        return protocolType;
    }

    public void setProtocolType(String protocolType) {
        this.protocolType = protocolType;
    }

    public Integer getCommBigLittle() {
        return commBigLittle;
    }

    public void setCommBigLittle(Integer commBigLittle) {
        this.commBigLittle = commBigLittle;
    }

    public String getMeasMode() {
        return measMode;
    }

    public void setMeasMode(String measMode) {
        this.measMode = measMode;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }
}
